◆FreeBSDとLinux

さて、ひとまずTipsとしてUNIXの説明をする以上、
代表的な無料「UNIX」である「FreeBSD」と「Linux」の
すこし突っ込んだシステム的な内容、歴史的な背景等にも触れておきたいと思います。

知っていてもUNIXの運用に必要な知識が増えると言うわけじゃないのですが、
知っていると、また色々と新しい発見があるかもしれません。

◆UNIX

UNIXの歴史に関してまず少々。

UNIXは、1960年代後半にAT&Tのベル研究所でアセンブリ言語により(ほとんど趣味として)開発されたものです。
当時 Multics と呼んでいたものがてんで使い物にならないために、UNIXと名称が改められて作り直す事に。
その後の何回かの改版によって様々な機能が追加。
途中、UNIX用に開発された高級言語であるCの導入によってソースの大部分が書き換えられたりとか。

そして1980年頃、現在のUNIXの主な機能が装備されました。
この時期にカリフォルニア大学バークレイ校でUNIXの改造が始まり、
AT&T版(本流)とバークレイ版(分流)(BSD:Berkley Sostware Distribution)という2つの流れができます。

そしてこの2つの流れを汲むのが、言ってみれば「正統な血統書付きのUNIX」と言う事になるわけです。
この正統なUNIXはSystem V、BSD(FreeBSDの前身)、Digital UNIX、HP-UX、IBM AIXといったものがあります。
ちなみにあとで詳しく書きますがLinuxはこの正統な流れには入ってません。

というふうに、歴史的な流れからUNIXというものを攻めてみました。

◆FreeBSD

FreeBSDがUNIXの正統な流れを汲むという説明はすでにしました。

次に「FreeBSD」の「BSD」に関しての説明を。
BSDは(Berkeley Software Distribution)の略であり、
UCB(カリフォルニア大学バークレー校)で開発されたソフト(OS)、と言う意味です。


BSDからFreeBSDに移行するに当たって、色々な歴史(苦労)があったようです。

BSDはAT&T社の技術を元に作られたOSですが、
まずライセンスの問題でAT&T社関連の技術を使用している部分を全て取り除いて、
ネットワーク経由での自由配布を可能としました。これが「4.3BSD Net/2」と呼ばれるものです。

これを基礎に新しいBSDプロジェクト(FreeBSD)を立ち上げたものの、
今度はNet/2にUNIX System Laboratories(USL)が著作権を持つコードが含まれていたため、
さらにその部分を取り除く必要が出てきて、その結果完成したのが、
今のFreeBSDの原型となった4.4BSD-Liteと呼ばれるものだそうです。

これ以降、FreeBSDはライセンスに一切触れる事の無いコードのみとなった4.4BSD-Liteを
基礎として作り上げられ、バークレーライセンスにしたがって配布されることになります。


もう一つFreeBSDの大きな特徴は、NECが過去に製作していたパソコンである、
「PC98シリーズ」でも動作する数少ないUNIXである、と言う事かもれません。
今ではもうPC98シリーズは過去の遺産っぽいですが、数年前のPCといえばPC98でしたので…。


次に、FreeBSDとLinuxが同じ「無料」だとしても、取っているライセンス形態は違います。

FreeBSDはバークレーライセンスというオープンライセンスに従っており、
Linuxが従っているGNU Public License (GPL)とは違います。
GPLライセンスに従っているソフトウェアを少しでも利用して製作した場合、
製作されたものはソースコードにわたる全てを同じGPLライセンスに無条件に従うものとして公開しなければならない。
……という規定があります。

これに対して、バークレーライセンスはきちんと製作に使用したソフトウェア製作者の著作権を守り、
作ったものに自分の著作権を明記(だたし責任は一切負わない)すれば、製作したもので公開したくないもの
(たとえばバイナリのみ公開でソースは公開しない)を公開する必要はないと言う事です。

なお、どちらのライセンスも、以上の規定さえ守っていれば、商業利用しても良い事になってます。
同じ無料のUNIXでありながら、ソフトウェアライセンスがこれほど対照的なのは、
なかなか面白い部分だと思います。

ただし、OSのコア部分(主にカーネル部分)が違うライセンス形態であっても、
実際に使用されているソフトの大半はGPLライセンスに従っていて、事実上GPLライセンスに従っている、
と言っても過言ではないと思います。

ちなみにインターネットの取り決めであるTCP/IPを最初に導入したのがこの(FreeBSDになる前の)BSDだそうです。


FreeBSDにはブランチと呼ばれる、整然としたバージョン管理がなされています。

そしてFreeBSDはカーネルと、それを取り巻く基本プログラムを一つのシステムとして
同時に開発・修正を行っているので、カーネルに対応していないとかいう問題は起こらないので、
システムを安心して使えるという利点もあります。

本格的にFreeBSDが使われ始めたのはFreeBSD 2.からとして、その後、ELF形式の採用など
大幅な変更を加えたFreeBSD 3.0の開発が始まっていくわけですが、
この間、きちんとFreeBSD2.x.xもさらなる安定のための開発修正が行われています。
最終的にFreeBSD2.2.8において、完全にFreeBSD 2.x.xの開発が終わるわけですが。

これと同じように新しい機能を取り込んだFreeBSD 4.0が出て着実に安定してきても、
4に問題がある限りFreeBSD 3.xの開発修正も続けられます。

このようにFreeBSDは常に2つのバージョンに分かれて開発されており、
最新開発バージョンを「CURRENT」、安定バージョンを「STABLE」と呼んでいます。
2003年8月現在では、5が「CURRENT」で、4が「STABLE」になります。
いずれ5の開発が進んで安定すれば4は終了して、5が「STABLE」に、新たな6が「CURRENT」になります。
(一時期3と4と5が長期間同時にあった時期がありましたがあれは例外だったと開発者も言っています…)

システムの変更や新機能の追加はすべてCURRENTで行われ、
STABLEは基本的にバグフィックスとセキュリティの修正しか行われません。
しかし、STABLEでも動作する新しいハードウェアやプログラムが
CURRENTで十分に安定したと判断されれば、それがSTABLEに取り込まれていきます。


ということで、今メインバージョンはFreeBSD 5.1だけど、
サーバーに使うには安定しているものの方がいいからFreeBSD 4.xの最終安定版であるFreeBSD 4.8を使おう、
とか言えるわけです。

こういったバージョンごとの分かりやすさも、非常に大切だと思います。


◆Linux

Linuxとは製作者である「Linus Torvaldsが作ったMinixクローン」
…この語呂合わせが「Linux」となったと言われています。

マスコットがペンギンなのは、Linusが無類のペンギン好きだからだそうです。
ちなみに、緋色は「リナックス」と発音するのが正しいと思ってます…

Minixとは、教育目的の小規模なUNIX互換OSなのですが、これに触れて、いたく感銘を受けたLinusが、
何もない所から一からこれと同等、それ以上のものを作ろうとしたところからLinuxが始まったと言われてます。

それはある程度開発されたところでインターネットを介して自由に公開され、
世界中の優秀なプログラマが開発に参加を始め、現在のような大規模なシステムになったのがLinuxの歴史です。

このとき、いち早くLinuxのカーネル部分をGNU Public License (GPL)に組み込んだ事によって、
驚異的な速度で進歩を始めた…らしいです。
ライセンス形態に関してはFreeBSDの項目で述べたので、ここでは省略します。


そしてこの小規模UNIXであるMinixのコピー(クローン化)から始まったLinuxは
UNIXクローン」であって「UNIX互換」…つまり「正統なUNIX」でないという事実は、初めて聞く人は驚くかと思います。

なぜ「UNIX」でなくて「UNIXクローン」なのか?

一つは前に説明した様に正式な流れを汲んでいないこと。
Linuxは「POSIX オペレーティングシステム標準」とUNIXの決まりに基づいて製作されているものの、
「UNIX」と名乗るには、一連のテストに合格してライセンス料を支払わないといけないようで、
それが成されていない為にいまでも「UNIXクローン」だそうです。

LinuxはUNIX界の異端児であるとともに、PC-UNIXの新生児みたいな節もあるのかも知れませんね。

と言っても、その実力はすでに様々な実績から証明するまでもなく、事実上UNIX(PC-UNIX)の
ディファクトスタンダードになっているわけです。


ところでバージョンはというと…
Linuxは「カーネル」と「そのほかのソフト」に区別して考えるのが非常に速いです。
Linuxとはコアのカーネルのみを指しており、
どんなソフトを付属するかはディストリビューションによって違います。

Linuxのバージョンは、主に「開発バージョン」と「安定バージョン」に分かれています。
カーネルの主要バージョンは「2」ですが、
そのあとに続く[.2」「.3」「.4」…で開発バージョンか安定バージョンかを区別します。
「奇数が開発バージョン」で「偶数が安定バージョン」と決まっています。


Linuxの良いところは…というと、新しいハードウェアや新機能の対応に関しては
常にFreeBSDの2〜3年先を行っている、というところでしょうか…受け売りですが(汗)。
マルチプロセッサやUSB、X-Window等の対応に関してはLinuxの方がずっと速かったように思います。
でも、それがサーバーPCに必須かと言えば、一部を除いて…(ごにょごにょ


[一つ上に戻る]

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!